home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / fortran / fv121s.zip / FAT3.DOC < prev    next >
Text File  |  1988-06-04  |  29KB  |  1,053 lines

  1.         APR 1988                FAT-VIDEO 1.21  GETMON          Page V-32
  2.  
  3.  
  4.         GETMON(NRS,NCS,NRE,NCE,SEG) - Copy a screen window to memory at SEG.
  5.  
  6.         Usage:
  7.  
  8.           call getmon(nrs,ncs,nre,nce,seg)
  9.  
  10.           integer*2 nrs,ncs
  11.           integer*2 nre,nce
  12.           integer*2 seg or integer*4 seg
  13.  
  14.           inputs: nrs,ncs,nre,nce,seg
  15.  
  16.           returns: none
  17.  
  18.           MS-Fortran 4.0 Large Model
  19.  
  20.         Description:
  21.  
  22.            This subroutine stores the window section defined by nrs,ncs
  23.         and nre,nce on the screen into the buffer starting at seg.  It is
  24.         up to the calling program to allocate storage via ALLMEM().
  25.  
  26.            This routine stores the monochrome buffers character and
  27.         attribute bytes for the window defined, to memory at SEG.
  28.  
  29.            This routine reads directly from the monochrome video buffer,
  30.         and may cause software incompatabilities.
  31.  
  32.            This function does not clear the window after saving it, but
  33.         once saved you may do anything to the window area, and restore
  34.         the saved window contents using PUTMON().
  35.  
  36.         See also getvid(), putvid(),getcga(),putcga().
  37.  
  38.         nrs = first row of window
  39.         ncs = first col of window
  40.         nre = last row of window
  41.         nce = last col of window
  42.         seg = segment of allocated memory, as output from ALLMEM().
  43.  
  44.         Note: To calcualte the number of paragraphs to request from ALLMEM()
  45.               calculate the following:
  46.  
  47.                 Npar= (((nr*nc)*2)+15)/16  ; nr=nre-nrs+1, nc=nce=ncs+1
  48.  
  49.         Example:
  50.                 Npar=  (((11*41)*2)+15)/16
  51.                 call ALLMEM(Npar,SEG,MaxPar)
  52.                 if(SEG.eq.7 .or. SEG.eq.8)Go To 1000 ;Error !
  53.                 call GETMON(0,0,10,40,SEG)
  54.  
  55.         See Wopen(),Wclose().
  56.         Restrictions: 80 column mode only !
  57.  
  58.         Int none
  59.  
  60.         Mono, EGA
  61.        APR 1988                FAT-VIDEO 1.21  PUTMON          Page V-33
  62.  
  63.  
  64.         PUTMON(NRS,NCS,NRE,NCE,SEG) - Copy a window in memory at SEG to
  65.                                       the screen.
  66.         Usage:
  67.  
  68.           call putmon(nrs,ncs,nre,nce,seg)
  69.  
  70.           integer*2 nrs,ncs
  71.           integer*2 nre,nce
  72.           integer*2 seg or integer*4 seg
  73.  
  74.           inputs: nrs,ncs,nre,nce,seg
  75.  
  76.           returns: none
  77.  
  78.           MS-Fortran 4.0 Large Model
  79.  
  80.         Description:
  81.  
  82.            This subroutine restores the window section defined by nrs,ncs
  83.         and nre,nce onto the screen.  It is up to the calling program to
  84.         free storage via FREMEM().
  85.  
  86.            This routine restores the monochrome buffers character and
  87.         attribute bytes for the window defined.
  88.  
  89.            This routine writes directly to the mono video memory buffer.
  90.  
  91.         See also getvid(), putvid(),getcga(),putcga().
  92.  
  93.         nrs = first row of window
  94.         ncs = first col of window
  95.         nre = last row of window
  96.         nce = last col of window
  97.         Seg = segment address used in GETMON()
  98.  
  99.         Example:
  100.                 call PUTMON(0,0,10,40,seg)
  101.                 call FREMEM(Seg,Ier)
  102.                 if(Ier.ne.0)Go To 1000   ; Error !
  103.  
  104.         See Wopen(),Wclose().
  105.         Restrictions: 80 column mode only !
  106.  
  107.         Int none
  108.  
  109.         Mono, EGA
  110.        APR 1988                FAT-VIDEO 1.21  CLS             Page V-34
  111.  
  112.  
  113.         CLS() - Clear the Screen.
  114.  
  115.         Usage:
  116.  
  117.           call cls()
  118.  
  119.           MS-Fortran 4.0 Large Model
  120.  
  121.         Description:
  122.  
  123.            This subroutine scrolls the entire window up, effectively
  124.         clearing the screen.
  125.  
  126.            This function determines the active page, gets the attribute
  127.         byte at the cursor, and then scrolls the window, filling the
  128.         blank lines with the color defined by the attribute bytes
  129.         background color.
  130.  
  131.         See also scwup(), scwdn().
  132.  
  133.         Int 10h, fx-0Fh, 08h, 06h
  134.  
  135.         CGA,Mono
  136.  
  137.         APR 1988                FAT-VIDEO 1.21  RDKBD           Page V-35
  138.  
  139.  
  140.         RDKBD(SCAN,KEY) - Read the keyboard.
  141.  
  142.         Usage:
  143.  
  144.           call rdkbd(SCAN,KEY)
  145.  
  146.           integer*2 scan,key
  147.  
  148.           inputs: none
  149.  
  150.           returns: scan,key
  151.  
  152.           MS-Fortran 4.0 Large Model
  153.  
  154.         Description:
  155.  
  156.            This subroutine returns the ascii code from the keyboard and
  157.         its scan code. This function doesn't echo the character read from
  158.         the keyboard.
  159.  
  160.            If key is returned as zero then a special key was hit such as
  161.         the function keys(F1,F2,..) or the cursor keys, or a combination
  162.         of shift,ctrl,alt and a function key. The value
  163.         of the special key is returned in the scan variable.
  164.  
  165.            If a normal key is struck then key returns the ascii code.
  166.         Once read by rdkbd() a character is removed from the keyboard
  167.         buffer. This function cannot be interrupted by a ctrl-c keypress.
  168.         See chinp() to allow ctrl-c interrupts during a keyboard read.
  169.  
  170.         See also chinp(), kbdst(), kbdfl().
  171.  
  172.         scan = scan code if ascii, key code if special key
  173.         key= ascii code or 0 for special key code
  174.  
  175.  
  176.         Int 16, fx-00h
  177.  
  178.         CGA, Mono, EGA
  179.        APR 1988                FAT-VIDEO 1.21  KBDST           Page V-36
  180.  
  181.  
  182.         KBDST(SCAN,ACHAR) - Get the keyboard status.
  183.  
  184.         Usage:
  185.  
  186.           call kbdst(SCAN,ACHAR)
  187.  
  188.           integer*2 scan,key
  189.  
  190.           inputs: none
  191.  
  192.           returns: scan,key
  193.  
  194.           MS-Fortran 4.0 Large Model
  195.  
  196.         Description:
  197.  
  198.            This subroutine reports whether a character is is ready at
  199.         the keyboard.  If there are no characters ready then scan and
  200.         key are zero.  If an ascii character is ready, it is returned in
  201.         key.   If a special key is present, then key is zero and scan
  202.         contains the key code.
  203.  
  204.            This function does not remove characters from the keyboard
  205.         buffer though, as rdkbd() does.
  206.  
  207.            The keyboard buffer may be cleared by calling this function,
  208.         and if a character is ready, reading it with rdkbd(), and
  209.         doing this until no characters are found.
  210.  
  211.         See also rdkbd(), kbdfl(), chinp().
  212.  
  213.         scan = scan code if ascii, key code if special key
  214.         key= ascii code or 0 for special key code
  215.  
  216.         Int 16h, fx- 02h
  217.  
  218.         CGA, Mono, EGA
  219.        APR 1988                FAT-VIDEO 1.21  KBDFL           Page V-37
  220.  
  221.  
  222.         KBDFL(FLAGS) - Get the keyboard flags.
  223.  
  224.         Usage:
  225.  
  226.           call kbdfl(Flags)
  227.  
  228.           integer*2 Flags
  229.  
  230.           inputs: none
  231.  
  232.           returns: flags
  233.  
  234.           MS-Fortran 4.0 Large Model
  235.  
  236.         Description:
  237.  
  238.            This subroutine returns the keyboard flags byte.  The flags
  239.         indicate which special keys are pressed, such as left-shift,
  240.         right-shift, insert, scroll lock, num lock, and ctrl.
  241.  
  242.            This is not a generally useful function from Fortran,
  243.         especially with the other keyboard reads available, since
  244.         they can read any key combination. There are some uses for this,
  245.         if you are clever.
  246.  
  247.         See also rdkbd(), kbdst(), chinp().
  248.  
  249.         Flag = the low byte of flag has each bit set as defined below.
  250.  
  251.           Bit Set       Meaning         Dec Value
  252.                 7       Insert on       128
  253.                 6       Caps on         64
  254.                 5       Num Lock on     32
  255.                 4       Scroll Lock on  16
  256.                 3       Alt key down     8
  257.                 2       Ctrl key down    4
  258.                 1       Left-Shift down  2
  259.                 0       Right-Shift down 1
  260.  
  261.  
  262.         Int 16h, fx-02
  263.  
  264.         CGA, Mono, EGA
  265.        APR 1988                FAT-VIDEO 1.21  CHINP           Page V-38
  266.  
  267.  
  268.  
  269.         CHINP(KEY) - Get character from keyboard, no echo.
  270.  
  271.         Usage:
  272.  
  273.           call chinp(key)
  274.  
  275.           integer*2 key
  276.  
  277.           inputs: none
  278.  
  279.           returns: key
  280.  
  281.           MS-Fortran 4.0 Large Model Dos2.0
  282.  
  283.         Description:
  284.  
  285.           This program reads a character from t